package util;

import java.io.Serializable;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 *
 * @author gilberto.costa 08/03/2012 07:44
 */
public class Utilitario implements Serializable {

    public static String removeCaracterdeUmaString(String str) {
        String[] caracteresEspeciais = {"\\.", ",", "-", ":", "\\(", "\\)", "�", "\\|", "\\\\", "�", "//", "/"};

        for (int i = 0; i < caracteresEspeciais.length; i++) {
            str = str.replaceAll(caracteresEspeciais[i], "");
        }
        //         * Troca os espa�os no in�cio por "" *
        str = str.replaceAll("^\\s+", "");
        //         * Troca os espa�os no in�cio por "" *
        str = str.replaceAll("\\s+$", "");
        //         * Troca os espa�os duplicados, tabula��es e etc por " " *
        str = str.replaceAll("\\s+", " ");
        return str;
    }

    public static String criptografaSenha(String senha) throws NoSuchAlgorithmException {
        //Essa classe pega um valor de tamanho arbitrario e transforma em um valor de tamanho fixo
        MessageDigest md = MessageDigest.getInstance("SHA");
        //Atualiza o valor com os bytes especificados
        md.update(senha.getBytes());
        //Conclui o c�lculo de hash realizando opera��es finais, tais como  preenchimento.
        BigInteger hash = new BigInteger(1, md.digest());
        //Retorna a representa��o String decimal deste BigInteger, com tamanho igual a 16.
        String retornaSenha = hash.toString(16);
        return retornaSenha;
    }
}
